1. Field of the Invention
The present invention relates to data distribution, and more particularly to replication of data from a master data source to one or more slave or target nodes.
2. Description of Related Art
Conventionally in a replicated database system, a master data source at one location in a network will maintain a database having a defined schema, and one or more other nodes throughout the network will maintain replicated copies of that master database or of some subset thereof. When changes occur in the master database, the master data source may then push those changes via the network to each other node, to facilitate updating of the replicas.
The process of replicating data from the master data source, however, can be cumbersome in a situation where many nodes maintain replicas of the database or where the set of nodes maintaining replicas changes. For example, with many nodes maintaining replicas, the master data source may need to send many update messages (one to each node) every time a change occurs, which could drain resources of the master data source and possibly cause performance and scalability issues.
As another example, the master data source may need to maintain a record of network addresses of each node, so that the master data source can send the update messages to the nodes. As the set of nodes changes (nodes are removed or added), or as their network addresses change, the master data source may therefore need to learn of the change, so as to adjust where it sends database updates.
As still another example, various nodes might maintain a replica of only a particular subset of data maintained in the master database. In that case, the master data source may need to know the database schema of each node, so as to send appropriate updates to the node. As the database schema of a given node changes, the master data source may then need to learn of that change, so as to adjust its updates accordingly.
And as another example, a network node might maintain a replica of data from multiple master data sources. If the master data sources change locations or change their database schemas, then such a node might lose its links with the master databases, and replication might fail.